Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V1.0.0-errata updates. #116

Merged
merged 5 commits into from
Aug 26, 2024

Conversation

jwcullen
Copy link
Collaborator

See extended commit description.

This helps distinguish between test vectors the encoder would typically produce (well-behaved) and ones that utilize various extensions, and fallback features, which would result in a compliant decoder ignoring some of the mixes.

For IAMF compliance the is_valid_to_decode field is what matters.

  - `is_valid_to_decode`: Implies at least one mix in the test vector can be decoded.
    - A compliant decoder should be able to find and decode a valid mix.
  - `is_valid`: Implies all mixes in the the test vector could be decoded.
    - The encoder will more strictly prevent encoding certain types of reserved fields which is not aware of.
    - This maintains the safety rails on the encoder which prevent it from using certain types of extension fields under normal circumstances.
    - May be used to prevent other types of reserved fields in the future.
    - May rename to `is_valid_to_encode` in the future.
  - `test_summary.csv`: Add a column for `is_valid_to_decode`.
  - The concepts are identical for test vectors with only one mix presentation (most of the test suite).
    - Hence, most existing test vectors have matching `is_valid` and `is_valid_to_decode`.
  - The concepts are distinguished when there is one valid mix and one invalid mix (i.e. `test_000120`, `test_000122`, `test_000129`, `test_000130`).
    - Typically we want safety rails and do not want to accidentally encode strange mixes that will never be decoded.
@jwcullen jwcullen requested a review from felicialim July 31, 2024 13:54
tests/README.md Outdated Show resolved Hide resolved
tests/README.md Outdated Show resolved Hide resolved
…ld be decoded.

  - `README.md`: Clarify since the spec does not determine behavior when something is invalid IAMF that a production system may still try to find a robust way to handle "should-fail" cases.
  - `test_000017`: Document the encoder may have a bug where it is too strict with `num_samples_to_trim_at_end`.
  - `test_000026`: Encoder refuses to produce it because "Output Channel Count SHALL be set to 2", but the decoder should process it anyway because "Output Channel Count can be ignored ".
  - `test_000119`: Encoder refuses to produce it because the codec ID is not known, but the decoder can ignore the mix related to that codec.
  - `test_000502`: Encoder refuses to produce it because `num_submixes` "SHALL NOT be set to 0", but the decoder can process the other mix.
  - Files based on AOMediaCodec/iamf-tools@468eb9b4
@jwcullen
Copy link
Collaborator Author

jwcullen commented Aug 2, 2024

Updated to clarify that it is OK for a system to be robust / flexible and still process tests that are invalid.

…belong in.

  - Mostly intended to help with bookeeping and scripts which are used to generare the test report, and decide which tests to run.
  - But secondarily this helps tag tests that are relevant if a private implementer wants to examine tests based on particular versions of IAMF.
  - The tags match any branches the test vector will be maintained in - this is useful if future bugs are fixed that require regenerating tests.
  - Based on AOMediaCodec/iamf-tools@a104c1cf9.
…10 spec.

  - Resolves both parts A and B in AOMediaCodec#119 for the test vectors.
    - Part A: Add missing "expandable" size field to both of the `DecoderConfigDescriptor` and `DecoderSpecificInfo`.
    - Part B: Flip `DecoderConfigDescriptor` `reserved` bit to 1.
    - Based on AOMediaCodec/iamf-tools@57324193.
@jwcullen jwcullen changed the title Split out is_valid_to_decode from is_valid. V1.0.0-errata updates. Aug 14, 2024
@jwcullen
Copy link
Collaborator Author

Copy link
Collaborator

@yongmin-kwon yongmin-kwon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for update 3.1.2 matrix

@sunghee-hwang sunghee-hwang merged commit 2ca376c into AOMediaCodec:main Aug 26, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants